package org.example;

/**
 * String 之所以设计成不可变类是为了实现字符串常量池
 * 假设指针s1 s2变量都指向常量池中的字符串"java",如果String是可变, 当s1的值修改后,s2的值也发生变化.导致程序运行结果不正常
 */
public class StringTest {
    public static void main(String[] args) {
        String a1 = new String("a"); // a1:xxx-> xxx(堆对象地址) -> 常量池
        String a2 = a1.intern();
        String a3 = "a";
        System.out.println(a1==a2);
        System.out.println(a2==a3);
        System.out.println(a1==a3);
        System.out.println(a1.equals(a2));
    }
}
